package com.small.nine.wxmp.domain.bean.wx.msg;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import lombok.Data;

import java.io.Serializable;

/**
 * 音乐信息
 *
 * @author sheng_zs@126.com
 * @date 2021-08-02 17:46
 */
@Data
@XStreamAlias("Music")
public class MusicBean implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 音乐标题
     */
    @XStreamAlias("Title")
    private String title;

    /**
     * 音乐描述
     */
    @XStreamAlias("Description")
    private String description;

    /**
     * 音乐链接
     */
    @XStreamAlias("MusicUrl")
    private String musicUrl;

    /**
     * 高质量音乐链接，WIFI环境优先使用该链接播放音乐
     */
    @XStreamAlias("HQMusicUrl")
    private String hQMusicUrl;

    /**
     * 缩略图的媒体id，通过素材管理中的接口上传多媒体文件，得到的id
     */
    @XStreamAlias("ThumbMediaId")
    private String thumbMediaId;

    /**
     * 初始化
     *
     * @param title        标题
     * @param description  音乐描述
     * @param musicUrl     音乐链接
     * @param hQMusicUrl   高质量音乐链接
     * @param thumbMediaId 缩略图的媒体id
     * @return {@link MusicBean}
     */
    public static MusicBean getInstance(String title, String description,
                                        String musicUrl, String hQMusicUrl, String thumbMediaId) {
        MusicBean bean = new MusicBean();
        bean.setTitle(title);
        bean.setDescription(description);
        bean.setMusicUrl(musicUrl);
        bean.setHQMusicUrl(hQMusicUrl);
        bean.setThumbMediaId(thumbMediaId);
        return bean;
    }
}
